package com.alinesno.infra.base.search.service;

import com.alinesno.infra.base.search.entity.DatasetClientEntity;
import com.alinesno.infra.common.facade.datascope.PermissionQuery;
import com.alinesno.infra.common.facade.services.IBaseService;

/**
 * 数据集客户端服务接口
 */
public interface IDatasetClientService extends IBaseService<DatasetClientEntity> {

    /**
     * 生成接口密钥
     * @return 生成的密钥
     */
    String generateApiKey(Long userId, PermissionQuery query);

    /**
     * 更新接口密钥状态
     * @return 是否成功
     */
    String updateKeyStatus(Long userId, PermissionQuery query);

    /**
     * 获取当前用户的API密钥
     * @param userId 用户ID
     * @return 密钥（未生成则返回null）
     */
    String getCurrentUserApiKey(Long userId);

}
